約 5,181,863 件
https://w.atwiki.jp/atachi/pages/38.html
基本的な使い方 [#c237efa6] 入力モードでアイテム選択 [#y4d2d9ff] アイテム表示方法 [#y2b14180] 参考サイト 基本的な使い方 プロパティを全く指定しない場合は、コントロールをクリックするとアイテムを選択するためのドロップダウンボックスが表示される。 ComboBoxItemを記述する ComboBox ComboBoxItem Content="北海道" / ComboBoxItem Content="青森" / ComboBoxItem Content="秋田" / ComboBoxItem Content="岩手" / /ComboBox ItemsSourceで要素を指定する Window xmlns sys="clr-namespace System;assembly=mscorlib" xmlns col="clr-namespace System.Collections;assembly=mscorlib" Window.Resources col ArrayList x Key="items" sys String 北海道 /sys String sys String 青森 /sys String sys String 秋田 /sys String sys String 岩手 /sys String sys String 福島 /sys String /col ArrayList /Window.Resources Grid ComboBox ItemsSource="{StaticResource items}" / /Grid /Window 入力モードでアイテム選択 IsEditable を True にすると、入力によってアイテムを選択させることができる。 ただし、選択項目にない文字列などを入力すると、コンボボックスは何も選択されていないことになり、ComboBox.SelectedItemはNullとなる。 ComboBox IsEditable="True" ComboBoxItem Content="北海道" / ComboBoxItem Content="青森" / ComboBoxItem Content="秋田" / ComboBoxItem Content="岩手" / /ComboBox アイテム表示方法 ComboBoxItemではアイテムのフォントや背景色を設定できる。 ComboBox ComboBoxItem HorizontalAlignment="Right" Content="北海道" / ComboBoxItem Foreground="Blue" Content="青森" / ComboBoxItem FontSize="7" FontWeight="Bold" FontFamily="MS 明朝" Content="秋田" / ComboBoxItem Background="Red" Content="岩手" / /ComboBox 参考サイト WPFのComboBox http //www.codeproject.com/KB/WPF/MultiComboBox.aspx
https://w.atwiki.jp/silver_emblem/pages/33.html
開発技術系トップへ戻る Windows Presentation Foundation(WPF) .NET Framework 3.0に含まれるユーザインタフェースサブシステムである。 WPFは、ユーザインタフェースとロジックを明確に区別する一貫したプログラミングモデルを提供する。 WPFアプリケーションはデスクトップで実行するだけでなくウェブブラウザ上で配置・実行することができる。 WPFによって、以下の表現手法を統一的に利用することが出来る。 ユーザインタフェース、2Dおよび3Dオブジェクトの描画 ベクトルグラフィックス ラスタグラフィックス アニメーション、音声および動画の再生 .NET Framework 3.0はWindows Vistaにプリインストールされており、Windows XP SP2およびWindows Server 2003でも利用できる。 【グラフィックス】 ウインドウを含め、全てのグラフィックスはDirect3Dを介して描画される。 これにより、高度なグラフィックを単一の方法で利用することができる。 Direct3Dを通して描画することにより、ビデオカード上のGPUに描画処理を任せることが可能になる。これはCPUの負荷を軽減することにつながる。 ベクトルグラフィックスをサポートする。これは損失のない拡大縮小を可能にする。 3Dモデルのレンダリングや相互作用をサポートする。 【配置】 WPFは通常のスタンドアローンアプリケーションだけでなく、XAMLブラウザアプリケーション (XBAP) として配置することもできる。 スタンドアローンアプリケーションは、ClickOnceやMicrosoft Windows Installer (MSI) などのインストーラによってローカルコンピュータ上に配置されるアプリケーションである。 XAMLブラウザアプリケーション (XBAP) は、Internet Explorerなどのウェブブラウザによってホストされるアプリケーションである。コンピュータリソースへのアクセスやWPFの機能は一部制限される。 【相互互換性】 Windows Formsとの相互運用も可能である(ElementHost、WindowsFormsHostクラス)。 【マルチメディア】 WPFはブラシ、ペン、幾何図形、変形などの基本的な2Dグラフィックス機能を提供する。 WPFで提供される3D機能はDirect3Dのサブセットである。しかし、WPFではよりユーザインタフェース (UI) などの要素に密接に利用することができる。これによって3DのUI、文書、メディアなどが可能になる。 一般的な画像フォーマットをサポートする。 WMV、MPEG、AVIフォーマットの動画をサポートする。 時間ベースのアニメーションをサポートする。これはシステムのパフォーマンスに依存せずアニメーションのスピードを一定に保つ。 ClearTypeを利用したテキストレンダリングをサポートする。また、OpenTypeフォントの機能もサポートする。 ※ClearType 関連・・・Microsoft SilverLight
https://w.atwiki.jp/ryouga0415/pages/84.html
更新日:2010-03-08 WPF … Windows Presentation Foundation WPFを使ったGUIアプリケーションの開発は,Visual Studio 2008で可能になりました。 VS2008のSP1では、42個のコントロールが利用できる。 VS2010では、新たにCalender,DataGrid,DataPickerが追加され、44個のコントロールが利用できる。 ※既存のUniformGridは無くなった。 Calender … 色々な種類のカレンダーコントロールが利用可能に。 DataPicker … OSの日付と時刻のプロパティのようなコントロールが利用可能に。 WPFの特徴 従来からあるようなコードベースのAPIだけではなく、XAML(ザムル)と呼ばれるXMLによるプレゼンテーション 記述言語を利用することで、ASP.NETのようなコードビハインド機能を実現すること出来ます。 Microsoft Expression Blend WPFアプリケーションのUIをデザインするために利用可能なデザイナー向けのツール ※Microsoftのページより評価版(無料)がダウンロード可能 製品版は、購入が必要です。 製品版では、デザインだけでなく、Blendツール上でイベントの記述やデバックが可能 NUnit単体テストの自動実行を支援するツール Java用のテストツールである「JUnit」を元に.NETで利用可能にしたもの 最新バージョンは、NUnit2.5.2(http //sourceforge.net/projects/nunit/) Silverlightマイクロソフトが開発したインターネットブラウザ用のプラグイン VS2010より、標準でSilverlightアプリケーションの開発が可能になりました。 Silverlightの特徴標準技術との連携が容易で、JavaScriptより300~1000倍高速 SilverlightとWPFの違いSilverlight … マルチプラットフォーム、マルチブラウザで動作するブラウザ用プラグイン WPF … Windowsプラットフォーム(XP以降)で動作するwindowsアプリケーション用の技術 なぜXAML?Windowsフォームでは、画面のデザインは自動生成のためVS任せ。 WPFでは、XAMLを利用し、画面のデザインがデザインツールなどでも容易になった。
https://w.atwiki.jp/netnet/pages/30.html
WPF(WindowsPresentationFoundation)関連のTipsはこちらへ Drawing.BitmapからBitmapSourceにする InkCanvasの消しゴムの作り方 RichTextBoxの文字の選択 UserControlをxamlで使いたい WndProcを使用する カスタムコントロールがDesignerでエラーがでる コントロールのサイズを自動調整したい タイトルバーのないウインドウを動かせるようにする
https://w.atwiki.jp/wpfapp/pages/2.html
メニュー トップページ WPF概要 開発環境 コントロールの配置 メニュー リンク msdn C# によるプログラミング入門 e-manual(WPF) ここを編集
https://w.atwiki.jp/osinko/pages/117.html
<サンプルコード> オブジェクトコレクションをXAMLの中で作成しリストボックスにバインド、さらにテキストボックスに選択したアイテムをバインドさせる バインディングコーディング_例 値の有効性(ルール)の適用(バインディングで行う) リソースコーディングorリソースプロパティウインドウ操作例 スケールセレクタの作成例(コンボボックスとXMLデータプロパイダオブジェクトとのバインディング) 画像をタイリングして領域を塗りつぶす CLRオブジェクトをXAML形式のファイルで出力する XAMLを使わずCLRでコントロール等を配置 Contentプロパティの利用例 依存プロパティ、DependencyObject、Bindingの実装のサンプル データコンテキストの仕組み StyleとSetterの適用範囲のサンプル コレクション走査パス+匿名クラス+日本語変数の利用 WPFでのマルチスレッド処理のサンプルコード 破線ラインの描画 (基礎的で重要な考えなのでよく理解しておく事:INotifyPropertyChangedを利用している。これはDependencyObjectで自動実装できるので利用する機会は少ない)CLRコードでバインディングを作成する C#WPF WPFでファイルを開くコモンダイアログを使用する 追加資料:Microsoft.Win32 ObservableCollection(T) クラス ObservableCollection を作成およびバインドする
https://w.atwiki.jp/atachi/pages/69.html
WPFToolkitで開発中のコンポーネントです。 まだ開発段階のため、WPFToolkitのライブラリ(WPFTools.DLL)にも含まれていません。 http //social.msdn.microsoft.com/Forums/ja-JP/wpfja/thread/9abc50e7-2104-4d80-8933-9e5f15545f2f http //social.msdn.microsoft.com/Forums/en-US/wpf/thread/215ac129-2b3e-45a3-833a-3990b6f9f0fd スクロールさせる? http //www.eggheadcafe.com/tutorials/aspnet/0939d60c-8e17-4a27-b898-1fc772d2d6f6/scrolling-in-wpf-toolkits-column-chart.aspx 線と丸の色 chartingToolkit LineSeries chartingToolkit LineSeries.DataPointStyle Style TargetType="{x Type chartingToolkit LineDataPoint}" Setter Property="Visibility" Value="Collapsed"/ Setter Property="Background" Value="Purple"/ /Style /chartingToolkit LineSeries.DataPointStyle /chartingToolkit LineSeries
https://w.atwiki.jp/twiclub/pages/16.html
使い方 どんどん増やせるように努力します。 【使い方】POPアクセスの方法【全般】 【使い方】携帯からtwiclub.info、つかえます!【モバイル】 【カレンダー】iPhone(touch)にカレンダーを同期させよう 以下からはtwiclubとは関係ございません。
https://w.atwiki.jp/atachi/pages/52.html
依存関係プロパティの基本実装 [#xa682a33] 依存関係プロパティの識別子を実装 [#i7e417dd] FrameworkPropertyMetadataで指定するメタデータについて [#a3e9a582] コレクションの依存関係プロパティ [#a4489562] 参考サイト コントロールを自作する場合に、コントロールが公開するプロパティは依存関係プロパティとして実装します。 依存関係プロパティとして実装すると、バインディングが使えるようになります。 リソース データ バインディング スタイル Animations メタデータのオーバーライド プロパティ値の継承 WPF デザイナーの統合 依存関係プロパティの基本実装 依存関係プロパティは次のようにDependencyPropertyを使用して値を管理します。 値の取得や設定はすべてGetValueメソッド/SetValueメソッドで行われます。 コントロールを使う側は、公開されているプロパティである依存関係プロパティだけしか見えません。 class MyCustomControl Control { // 依存関係プロパティの識別子 public static readonly DependencyProperty IsSpinningProperty = DependencyProperty.Register( "IsSpinning", // name 引数 typeof(Boolean), // propertyType 引数 typeof(MyCustomControl), // ownerType 引数 ); // 依存関係プロパティ public bool IsSpinning { get { return (bool)GetValue(IsSpinningProperty); } set { SetValue(IsSpinningProperty, value); } } } 依存関係プロパティの識別子を実装 DependencyProperty.Register()を使用して、 WPFが持つプロパティシステムにプロパティに関する情報を登録します。 引数名 設定内容例 説明 name "IsSpinning" プロパティシステムに登録するプロパティ名。 propertyType typeof(Boolean) プロパティの型情報。typeofを使って型情報を取り出す。 ownerType typeof(MyCustomControl) プロパティを定義したクラスの型情報。 typeMetadata new FrameworkPropertyMetadata(...) プロパティについての追加情報。FrameworkPropertyMetadata を使って指定する。省略可能。こちら validateValueCallback new ValidateValueCallback(...) プロパティの値についてのバリデーション。ValidateValueCallback を使って指定する。省略可能。 Registerの戻り値には依存関係プロパティに関する情報が含まれている。 依存関係プロパティに値を設定する場合や取得する場合はこのインスタンスをつかって行う。 このインスタンスは、public static readonlyで定義する必要がある。 FrameworkPropertyMetadataで指定するメタデータについて FrameworkPropertyMetadata を使用すると、プロパティに関する設定が行える。 プロパティの初期値 プロパティ変更時に呼び出されるコールバックメソッド WPFデザイナによるデザイン時の挙動 デフォルトのデータバインディングのモード VisualObjectツリーで親から子へのプロパティ継承 WPFデザイナに関係するプロパティがいくつかあります。 適切に設定することで、WPFデザイナ使用時のパフォーマンスがよくなります。 AffectsMeasureプロパティ値の変更時に、サイズ変更を伴うコントロールの再描画が必要。 AffectsArrangeプロパティ値の変更時に、サイズ変更を伴わない(自分より下階層のサイズ変更は許可)コントロールの再描画が必要。 AffectsRenderプロパティ値の変更時に、一切のサイズ変更が伴われないコントロールの再描画が必要。 コレクションの依存関係プロパティ カスタムコントロールのコンストラクタでSetValueを使ってsingletonなコレクション型インスタンスを作成する 依存関係プロパティ識別子は読み取り専用で登録する(DependencyProperty.RegisterReadOnly を使用する) class MyCustomControl Control { public MyCustomControl() base() { SetValue(ItemsPropertyKey, new List FrameworkElement () ); } private static readonly DependencyPropertyKey ItemsPropertyKey = DependencyProperty.RegisterReadOnly( "Items", typeof(List FrameworkElement ), typeof(MyCustomControl), new FrameworkPropertyMetadata(new List FrameworkElement ()) ); // 依存関係プロパティの識別子 public static readonly DependencyProperty IsSpinningProperty = DependencyProperty.Register( "IsSpinning", // name 引数 typeof(Boolean), // propertyType 引数 typeof(MyCustomControl), // ownerType 引数 ); public static readonly DependencyProperty ItemsProperty = ItemsPropertyKey.DependencyProperty; // 依存関係プロパティ public bool IsSpinning { get { return (bool)GetValue(IsSpinningProperty); } set { SetValue(IsSpinningProperty, value); } } public List FrameworkElement Items { get { return (List FrameworkElement )GetValue(ItemsProperty); } } } 参考サイト MSDN カスタム依存関係プロパティ
https://w.atwiki.jp/atachi/pages/40.html
タブアイテムへの画像表示 [#wa1225f9] コントロールテンプレート [#b6535a37] TabItemへの適応 [#de80e20b] グラデーション化とリソース化 [#jf8dcc28] タブアイテムへの画像表示 Window x Class="TabControlTutorial.Window1" xmlns="http //schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns x="http //schemas.microsoft.com/winfx/2006/xaml" Title="WPF Tabs" Height="281" Width="454" Grid TabControl TabItem TabItem.Header StackPanel Orientation="Horizontal" Image Height="18" Source="cheese.jpg" / TextBlock Text="Cheese" Margin="2,0,0,0" VerticalAlignment="Center" / /StackPanel /TabItem.Header /TabItem TabItem TabItem.Header StackPanel Orientation="Horizontal" Image Height="18" Source="pepperoni.jpg" / TextBlock Text="Pepperoni" Margin="2,0,0,0" VerticalAlignment="Center" / /StackPanel /TabItem.Header /TabItem TabItem TabItem.Header StackPanel Orientation="Horizontal" Image Height="18" Source="mushrooms.jpg" / TextBlock Text="Mushrooms" Margin="2,0,0,0" VerticalAlignment="Center" / /StackPanel /TabItem.Header /TabItem /TabControl /Grid /Window コントロールテンプレート TabItemへの適応 タブコントロールに表示されるタブの部分(TabItem)のテンプレートを定義します。 #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (TabItemControlTemplate1.png) Style TargetType="{x Type TabItem}" Setter Property="Template" Setter.Value ControlTemplate TargetType="{x Type TabItem}" Grid !-- タブの枠(ボーダー)の設定 -- Border Name="Border" Background="LightBlue" BorderBrush="#2E7992" BorderThickness="1,2,1,2" CornerRadius="6,6,0,0" ContentPresenter x Name="ContentSite" VerticalAlignment="Center" HorizontalAlignment="Center" ContentSource="Header" Margin="12,2,12,2" / /Border /Grid !-- トリガー -- ControlTemplate.Triggers !-- 「TabItem.IsSelected == True」の場合 -- Trigger Property="IsSelected" Value="True" !-- TargetNameは上で定義したBorder要素を指す -- Setter TargetName="Border" Property="Background" Value="LightBlue" / /Trigger !-- 「TabItem.IsSelected == False」の場合 -- Trigger Property="IsSelected" Value="False" Setter TargetName="Border" Property="Background" Value="LightGray" / /Trigger /ControlTemplate.Triggers /ControlTemplate /Setter.Value /Setter /Style グラデーション化とリソース化 このセクションではTabItemの背景をグラデーションに塗りつぶし、複数箇所で使用しても使いやすいようにブラシをリソースとして定義します。 #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (TabItemControlTemplate2.png) 最初にある「SelectableTabItemBackgroundBrush」と「DisabledTabItemBackgroundBrush」は線形グラデーションのブラシです。 LinearGradientBrush x Key="SelectableTabItemBackgroundBrush" StartPoint="0.5,0" EndPoint="0.5,1" GradientBrush.GradientStops GradientStop Color="LightBlue" Offset="0.0"/ GradientStop Color="White" Offset="1.0"/ /GradientBrush.GradientStops /LinearGradientBrush LinearGradientBrush x Key="DisabledTabItemBackgroundBrush" StartPoint="0.5,0" EndPoint="0.5,1" GradientBrush.GradientStops GradientStop Color="LightBlue" Offset="0.0"/ GradientStop Color="Gray" Offset="1.0"/ /GradientBrush.GradientStops /LinearGradientBrush Style TargetType="{x Type TabItem}" Setter Property="Template" Setter.Value ControlTemplate TargetType="{x Type TabItem}" Grid !-- タブの枠(ボーダー)の設定 -- Border Name="Border2" BorderBrush="#2E7992" Background="{StaticResource SelectableTabItemBackgroundBrush}" BorderThickness="1,2,1,2" CornerRadius="6,6,0,0" ContentPresenter x Name="ContentSite" VerticalAlignment="Center" HorizontalAlignment="Center" ContentSource="Header" Margin="12,2,12,2" / /Border /Grid !-- トリガー -- ControlTemplate.Triggers Trigger Property="IsSelected" Value="True" Setter TargetName="Border2" Property="Background" Value="{StaticResource SelectableTabItemBackgroundBrush}" / /Trigger Trigger Property="IsSelected" Value="False" Setter TargetName="Border2" Property="Background" Value="{StaticResource DisabledTabItemBackgroundBrush}" / /Trigger /ControlTemplate.Triggers /ControlTemplate /Setter.Value /Setter /Style